/**
 * @param {string} option
 * @returns {number} days
 */
export function getDaysByOption(option) {
    if (option === 'week') {
        // 计算此刻到这周星期一的天数，也算上当天
        const now = new Date();
        const currentDay = now.getDay();
        // 调整到本周一：若为周日则减6天，否则减(currentDay - 1)天
        const diffToMonday = currentDay === 0 ? 6 : currentDay - 1;
        const mondayDate = new Date(now);
        mondayDate.setDate(now.getDate() - diffToMonday);
        // 将时间设为0点确保计算准确
        mondayDate.setHours(0, 0, 0, 0);
        const today = new Date();
        today.setHours(0, 0, 0, 0); // 同样处理当前日期的时间
        // 计算时间差（绝对值避免负数）
        const timeDiff = today - mondayDate;
        const days = Math.floor(timeDiff / (1000 * 60 * 60 * 24)) + 1; // 包括当天
        return days
    } else if (option === 'month') {
        // 计算此刻到这月1号的天数，也算上当天
        const now = new Date()
        const firstDayOfMonth = new Date(now.getFullYear(), now.getMonth(), 1) // 计算本月1号的日期
        const lastDate = new Date()
        const days = Math.ceil((lastDate - firstDayOfMonth) / (1000 * 60 * 60 * 24)) // 计算天数
        return days
    } else if (option === 'quarter') {
        // 计算此刻到这季度1号的天数，也算上当天
        const now = new Date()
        const month = now.getMonth()
        const quarterStartMonth = month - (month % 3) // 计算本季度1号的月份
        const firstDayOfQuarter = new Date(now.getFullYear(), quarterStartMonth, 1) // 计算本季度1号的日期
        const lastDate = new Date()
        const days = Math.ceil((lastDate - firstDayOfQuarter) / (1000 * 60 * 60 * 24)) // 计算天数
        return days
    } else if (option === 'semester') {
        // 计算此刻到这年 9月1号的天数或者2月15号，哪个离得近选哪个截止日期。也算上当天。
        const now = new Date()
        const month = now.getMonth()
        const year = now.getFullYear()
        const firstDayOfSemester = month < 8 ? new Date(year, 1, 15) : new Date(year, 8, 1) // 计算本学期1号的日期
        const lastDate = new Date()
        const days = Math.ceil((lastDate - firstDayOfSemester) / (1000 * 60 * 60 * 24)) // 计算天数
        return days
    } else {
        return 1
    }
}